Skip to content

ENH: Add 'start' and additional tasks to Pixi manifest#49

Merged
prashjha merged 3 commits intoprashjha:mainfrom
matthewfeickert:mnt/update-pixi
Dec 10, 2025
Merged

ENH: Add 'start' and additional tasks to Pixi manifest#49
prashjha merged 3 commits intoprashjha:mainfrom
matthewfeickert:mnt/update-pixi

Conversation

@matthewfeickert
Copy link
Contributor

@matthewfeickert matthewfeickert commented Dec 10, 2025

Follow up to PR #48

Proposed Changes

  • Update cmake dependency to allow for CMake policy v4, following support for CMake v4 in PR JOSS review: Address #45 #48.
  • Separate tasks out in Pixi manifest to allow for running build, testing, and install tasks separately. Add canonical 'start' task to build and install software. Add 'test' task that will do a clean build and run ctests.
  • Update task name from 'build' to 'test' in README.
  • Remove 'rm' of build directory from 'build' task to allow for potentially skipping files that do not need to be regenerated and to give user slightly more control.

This now provides

$ pixi task list
Tasks that can run on this machine:
-----------------------------------
build, ctest, install-peridem, start, test
Task             Description
build            Build PeriDEM from local source
ctest            Run tests with ctest
install-peridem  Install PeriDEM under CMAKE_INSTALL_PREFIX defined in build
start            Build and install PeriDEM
test             Do a clean build of PeriDEM and run ctest tests

and if a user now runs

$ pixi run start

they will build PeriDEM and get it installed under their Pixi environment. If a developer runs

$ pixi run test

it will do a clean build of PeriDEM in ./build/ and then run the ctests for that build.

Any background context you want to provide?

This is some suggested extensions for PR #48 to provide some developer ease of use improvements if they chose to use Pixi. These suggestions are not required in any way for the JOSS review to advance and are just meant to be a "drive by" PR.

* Separate tasks out in Pixi manifest to allow for running build, testing,
  and install tasks separately. Add canonical 'start' task to build and
  install software. Add 'test' task that will do a clean build and run
  ctests.
* Update task name from 'build' to 'test' in README.
* Remove 'rm' of build directory from 'build' task to allow for potentially
  skipping files that do not need to be regenerated and to give user slightly
  more control.
* To fully use some tools in the environment, allow for Pixi to locally
  execute post-link shell scripts defined by project dependencies.
   - c.f. https://pixi.sh/dev/reference/pixi_configuration/#run-post-link-scripts
@matthewfeickert matthewfeickert marked this pull request as ready for review December 10, 2025 04:53
@matthewfeickert
Copy link
Contributor Author

@prashjha this is ready for review. Let me know if you have any questions.

This is just a "drive by" PR of some suggestions and not something that should be viewed as part of the JOSS review. What you did in PR #48 was more than enough, IMO. 👍

@prashjha prashjha merged commit 58737c3 into prashjha:main Dec 10, 2025
2 checks passed
@prashjha
Copy link
Owner

@matthewfeickert thank you for the changes to pixi file and README.

@matthewfeickert matthewfeickert deleted the mnt/update-pixi branch December 10, 2025 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants